/** \file
 \brief Accelerations evaluator interface.
 */

#ifndef FASTMD_DYNAMICS_INCLUDED
#define FASTMD_DYNAMICS_INCLUDED 1

#include "core/frame.hpp"
#include "core/potential.hpp"

namespace FastMD 
{
	
	class Dynamics : public Object
	{
	public:
		virtual ~Dynamics() throw();
		
		virtual void eval( Frame &frame , Potential &potential, const bool isothermal ) throw() = 0;
		
	protected:
		explicit Dynamics() throw();
		
	private:
		YOCTO_DISABLE_COPY_AND_ASSIGN(Dynamics);
	};
	
}

#endif
